Repository navigation
Follow-ups: ledger_merge.py sync, two environment-proof test fixes, 6 intake prompts - #540
Merged
Merged
Conversation
- bug/pyautomind: bootstrap test fails as root; root-default test inherits PYAUTO_ROOT - feature/pyautomind: ledger_merge.py sync for branches the ledger-merge workflow skips - feature/autolens_profiling: write compile_repeats (makes PyAutoBrain#588's caveat evidence-based) - test/autofit: EP + Nautilus default_optimiser regression test - bug/pyautobrain: intake Memory: citation score floor Vocabulary-only Memory: lines removed by hand from the autolens_profiling and autofit prompts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016nhQ8MZyNga1wamBmFdfAK
…n root-default tests; add ledger_merge.py sync - test_session_bootstrap: probe os.access after chmod, skip with a reason when the directory stays writable (root ignores mode bits). - test_repos_sync_root_default: autouse fixture deletes PYAUTO_ROOT / PYAUTO_ROOT_REASON so an exported operator override cannot leak in. - ledger_merge.py sync [--base origin/main]: --no-commit merge, resolve, re-render index + dashboard on the merged tree, stage for the caller — the local twin of mind_ledger_merge.yml for ccr-*/code branches. Documented in REFERENCE.md 'How the ledger lands'; 3 new tests. Mind suite 728 passed, 1 skipped (with and without PYAUTO_ROOT exported). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016nhQ8MZyNga1wamBmFdfAK
…erge-sync (shipped in this PR) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016nhQ8MZyNga1wamBmFdfAK
…e merged tree) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016nhQ8MZyNga1wamBmFdfAK
…, 'ours' is the branch) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016nhQ8MZyNga1wamBmFdfAK
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
These are follow-ups from the 2026-11-05 queue session, which landed in #539 and PyAutoBrain#588. The branch was restarted from main, because #539 had already merged.
Shipped here and closed in this PR
ledger-merge-syncscripts/ledger_merge.py sync [--base origin/main], the local twin ofmind_ledger_merge.yml. It is for branches that workflow skips:ccr-*session branches and PR branches that hold code.bootstrap-test-root-skiptest_the_hook_survives_an_unwritable_tools_dirnow skips with a reason when root ignores the chmod, instead of failing because of the environment.root-default-test-env-leakPYAUTO_ROOT/PYAUTO_ROOT_REASON, so an exported operator override can't leak into the test.What
syncdoes:--no-commit --no-ff.resolve: registries merge by entry, and generated files are taken from either side, since step 5 regenerates them.complete/index.mdand the dashboard on the merged tree, using the Brain renderer from$PYAUTO_BRAINor a siblingPyAutoBrain.It's documented in REFERENCE.md under "How the ledger lands".
Why it's needed: #539 needed three rounds of conflict resolution by hand on the generated files, and one round kept main's stale
complete/index.md, which turned thedriftcheck red. A.gitattributesmerge driver wouldn't help, because GitHub ignores custom drivers.Already used for real:
fa020fa96is asyncof this very branch. All four generated files conflicted, and all were settled and regenerated automatically.The resolve message no longer says "main's copy". On a branch sync, git's "ours" is the branch, and the files are regenerated anyway.
Filed, not started (
d4d7c6641)feature/autolens_profiling/write_compile_repeats_from_autolens_profiling_s.md: makes PyAutoBrain#588's single-sample caveat rest on evidence.test/autofit/regression_test_nautilus_as_the_ep_default.md: the EP regression test the superseded draft never got.bug/pyautobrain/intake_injects_memory_citations_that_match_on.md: a score floor for intake'sMemory:citations. While filing these prompts, intake again added unrelated science citations, which I removed by hand from the two library/workspace prompts.Not done here: letting the auto-merge workflow handle
ccr-*session branches. That's a policy call for a human.Validation
PYAUTO_ROOTexported. This is the first fully green local run today.tests/test_ledger_merge.py: 31 passed, including 3 newsynctests: ready path, up-to-date no-op and dirty-tree refusal, and a blocked conflict.lifecycle.py checkOK,index --checkOK,dashboard --checkcurrent.Tier: judge. The PR holds code, so it needs a human /prm.
Generated by Claude Code